package DesignPattern.FactoryPattern;
//多个工厂模式
/*
普通工厂模式有个缺点：每次新增产品的时候，都要增加一个具体类和对象实现工厂。
该模式是对普通工厂方法模式的改进，在普通工厂方法模式中，
如果传递的字符串出错，则不能正确创建对象，
而多个工厂方法模式是提供多个工厂方法，分别创建对象
*/
//改进只用改SendFactory即可
public class SendFactory2 {
    public Sender produceMail(){
        return new MailSender();
    }

    public Sender produceSms(){
        return new SmsSender();
    }


    public static void main(String[] args) {
        SendFactory2 factory = new SendFactory2();
        Sender sender = factory.produceMail();
        sender.Send();
    }
}
